// pages/index/index.js
Page({
  data: {
    isBottomHidden: true, // 默认隐藏底部提示
    isRefreshing: false, // 控制是否正在刷新
    loadingText: '加载中...', // 加载中的提示文本
    animation: null, // 动画实例
    item: [], // 存储消息的数组
  },
  
  onLoad: function() {
    // 页面加载时隐藏底部提示
    this.setData({ isBottomHidden: true });
    this.fetchData();
  },
  
  fetchData: function() {
    var that = this;
    wx.request({
      url: 'https://9p47q51245.goho.co/find-con',
      method: 'POST',
      data: {
        openId: wx.getStorageSync('openId'),
      },
      success: function (res) {
        console.log(res.data);
        // 处理获取到的数据，例如：
        that.setData({ item: res.data }); 
        console.log(that.data.item[0]['nickName'])
      },
      
      fail: function (err) {
        console.error('Request failed:', err);
      }
    });
  },
  
  onPullDownRefresh: function() {
    var that = this;
    this.setData({ isRefreshing: true }); // 开始刷新
    wx.showLoading({ title: '加载中...', mask: true }); // 显示加载动画

    // 创建动画实例
    this.animation = wx.createAnimation({
      duration: 500, // 动画持续时间
      timingFunction: 'ease', // 动画效果
    });
    
    // 设置动画的初始状态
    this.animation.top(0).step();
    // 更新数据以应用动画
    this.setData({
      animation: this.animation.export()
    });

    // 调用后端API获取最新消息
    wx.request({
      url: 'https://9p47q51245.goho.co/find-con',
      method: 'POST',
      data: {
        openId: wx.getStorageSync('openId'), 
      },
      success: function (res) {
        console.log(res.data);
        // 处理获取到的数据，例如：
        that.setData({ item: res.data });  // 假设返回的数据中有'messages'字段
        console.log(that.data.item)
        // 动画结束状态
        that.animation.top('-100%').step();
        // 更新数据以应用动画
        that.setData({
          animation: that.animation.export(),
          item: res.data
        });

        // 停止下拉刷新动作
        wx.stopPullDownRefresh();
        wx.hideLoading(); // 隐藏加载动画
        that.setData({ isRefreshing: false ,item: res.data}); // 刷新完成
      },
      fail: function (err) {
        console.error('刷新数据失败:', err);
        // 停止下拉刷新动作
        wx.stopPullDownRefresh();
        wx.hideLoading(); // 隐藏加载动画
        that.setData({ isRefreshing: false }); // 刷新完成
      }
    });
  },
  communication:function(e){
    console.log(e.currentTarget.dataset.id)
    var openId = wx.getStorageSync('openId');
    var author=e.currentTarget.dataset.id
    if (!openId) {
      // 处理openId不存在的情况，例如提示用户登录
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
    
      return;
    }
    wx.navigateTo({
      url: '/pages/communication/communication?openId=' + openId + '&detailId=' +  author,
      success: function(res) {
        // 成功跳转后的回调
      },
      fail: function(res) {
        // 跳转失败后的回调
      }
    });
    wx.showToast({
      title: '沟通中',
      icon: 'success'
    });
  },
  onScroll: function(e) {
    // 监听scroll-view的滚动事件
    if (e.detail.scrollTop + e.detail.scrollHeight - e.detail.scrollHeight * e.detail.scale >= e.detail.scrollHeight) {
      // 如果滚动到底部，显示底部提示
      this.setData({ isBottomHidden: false });
    } else {
      // 如果未滚动到底部，隐藏底部提示
      this.setData({ isBottomHidden: true });
    }
  }
});
